#pragma once
#include <QString>
#include <QList>
#include "Utility.h"

class IBridge
{

public:

	IBridge();
	
	//start adb server
	virtual void startServer()=0;

	//kill adb server
	virtual void killServer()=0;

	//return list of unparsed strings with adb-name and model of device
	virtual QString getDevices()=0;

	//method sets name of the selected device at the moment
	virtual void setSelectedDevice(QString)=0;

	//return path to just made screenshot
	virtual bool getScreenshot(QString)=0;

	//return file system
	virtual QString getFileSystem(QString)=0;

	//method to create new Folder
	virtual bool newFolder(QString, QString)=0;

	//method to remove selected item(folder,file)
	virtual bool Delete(QString, QString)=0;

	//method which provide installing .apk file from selected directory(PC or device)
	virtual bool Install(QString)=0;

	//copy file to device
	virtual bool pushToDevice(QString, QString)=0;

	//copy file from device
	virtual bool pullFromDevice(QString, QString)=0;

	//check if a file exists with the same name
	virtual bool checkName(QString, QString)=0;

	//paste: file or folder path, destination path, bool - copy(true) or cut(false) operation
	// if cut - i will delete file or folder after copying
	virtual bool Paste(QString,QString,bool)=0;

	virtual bool makeBackup(QString)=0;

	virtual bool restoreBackup(QString)=0;

	virtual QString getDevicesProps(QString device)=0;
	
};

